package com.ltkj.ticket.mapper;

import java.util.Date;
import java.util.List;
import com.ltkj.ticket.domain.TicActivityStock;
import com.ltkj.ticket.domain.dto.AppletTicketDetailQueryDTO;
import com.ltkj.ticket.domain.dto.TicActivityStockQueryDTO;
import com.ltkj.ticket.domain.vo.*;
import org.apache.ibatis.annotations.Param;

/**
 * 活动门票库存Mapper接口
 * 
 * @author ruoyi
 * @date 2023-08-31
 */
public interface TicActivityStockMapper 
{
    /**
     * 查询活动门票库存
     * 
     * @param activityStockId 活动门票库存主键
     * @return 活动门票库存
     */
    public TicActivityStock selectTicActivityStockByActivityStockId(Long activityStockId);

    /**
     * 查询活动门票库存列表
     * 
     * @param ticActivityStock 活动门票库存
     * @return 活动门票库存集合
     */
    public List<TicActivityStock> selectTicActivityStockList(TicActivityStock ticActivityStock);

    /**
     * 新增活动门票库存
     * 
     * @param ticActivityStock 活动门票库存
     * @return 结果
     */
    public int insertTicActivityStock(TicActivityStock ticActivityStock);

    /**
     * 修改活动门票库存
     * 
     * @param ticActivityStock 活动门票库存
     * @return 结果
     */
    public int updateTicActivityStock(TicActivityStock ticActivityStock);

    /**
     * 删除活动门票库存
     * 
     * @param activityStockId 活动门票库存主键
     * @return 结果
     */
    public int deleteTicActivityStockByActivityStockId(Long activityStockId);

    /**
     * 批量删除活动门票库存
     * 
     * @param activityStockIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTicActivityStockByActivityStockIds(Long[] activityStockIds);

    void insertBatch(@Param("days") List<String> days,@Param("activityId") Long activityId,@Param("activityStockCount") Long activityStockCount,@Param("username") String username);

    TicActivityStockVo selectTicActivityStockByActivityStockIdNew(@Param("activityStockId") Long activityStockId);

    List<TicActivityStockPageVo> selectTicActivityStockListNew(@Param("queryDTO") TicActivityStockQueryDTO queryDTO);

    List<TicStockListVo> selectStockList();

    TicketDetailVo selectDetailById(@Param("activityId") Long activityId);

    List<TicketTourVo> selectTourVos(@Param("queryDTO") AppletTicketDetailQueryDTO queryDTO);

    List<TicketTypeVo> selectTictkeTypes(@Param("stockDate") Date stockDate,@Param("activityId") Long activityId);

    List<String> selectTicketPics(@Param("infoId")Long infoId);
}
